package com.ajavaer.framework.im.tencent.model;

import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonTypeName;

/**
 * 消息元素 TIMMsgElement
 * <p>
 * 文件消息元素<br/>
 * 不能通过服务端集成的 Rest API 接口发送文件消息，发送文件消息需要通过客户端集成相应的接口。
 * </p>
 */
@JsonTypeName(value = "TIMFileElem")
public class TencentMsgFileElem implements TencentMsgContent {
    /**
     * 语音序列号。后台用于索引语音的键值。
     */
    @JsonProperty("UUID")
    private String uuid;
    /**
     * 文件数据大小，单位：字节。
     */
    @JsonProperty("FileSize")
    private Long fileSize;
    /**
     * 文件名称。
     */
    @JsonProperty("FileName")
    private String fileName;


    public TencentMsgFileElem() {
    }

    public TencentMsgFileElem(String uuid, Long fileSize, String fileName) {
        this.uuid = uuid;
        this.fileSize = fileSize;
        this.fileName = fileName;
    }

    public static TencentMsgFileElem of(String uuid, Long fileSize, String fileName) {
        return new TencentMsgFileElem(uuid, fileSize, fileName);
    }

    public String getUuid() {
        return uuid;
    }

    public void setUuid(String uuid) {
        this.uuid = uuid;
    }

    public Long getFileSize() {
        return fileSize;
    }

    public void setFileSize(Long fileSize) {
        this.fileSize = fileSize;
    }

    public String getFileName() {
        return fileName;
    }

    public void setFileName(String fileName) {
        this.fileName = fileName;
    }
}
